package org.mao.quartz;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.log4j.Logger;
//import org.mao.account.entity.CommReference;
//import org.mao.account.service.CommReferenceService;
//import org.mao.account.service.UserLoginService;
//import org.mao.base.BaseEnum;
//import org.mao.enums.CommReferenceEnum;
import org.springframework.beans.factory.annotation.Autowired;

import com.google.common.collect.Maps;

public class CacheManager {

	private Logger logger = Logger.getLogger(CacheManager.class);
	
	//版块与论坛的对应关系sectionId-forumId
	public static Map<Integer, Integer> forumMap = Maps.newHashMap(); 
//
//	@Autowired
//	private CommReferenceService commReferenceService;
//
//	@Autowired
//	private UserLoginService userLoginService;
//
//	//按大类代码存放每个大类的小项列表
//	private Map<Integer, List<CommReference>> commReferenceMap = null;
//
//	//按小项代码存放每个小项
//	private Map<Integer, CommReference> commReferenceItemMap = null;
//
//	//系统生成的登录名
//	private Integer autoLoginName = null;
//
//	/**
//	 * spring中配置为启动时执行，用于缓存数据的初始化
//	 */
//	private void init() {
//		logger.info("===============init CacheManager Start================");
//		initCommReferenceData();
//		initLoginName();
//		logger.info("===============init CacheManager Over================");
//	}
//
//	/**
//	 * 初始化代码字典参考表数据
//	 */
//	private void initCommReferenceData() {
//		try {
//
//			//初始化commReferenceMap
//			commReferenceMap = new HashMap<Integer, List<CommReference>>();
//			//初始化commReferenceItemMap
//			commReferenceItemMap = new HashMap<Integer, CommReference>();
//			//查询表comm_reference所有记录
//			List<CommReference> commReferenceList = commReferenceService.listAll();
//			Integer categoryCode = null;
//			List<CommReference> tempList = null;
//			for (CommReference commReference : commReferenceList) {
//				//按大类存放小项列表
//				if (commReference.getCategoryCode() != categoryCode) {
//					tempList = new ArrayList<CommReference>();
//					categoryCode = commReference.getCategoryCode();
//					commReferenceMap.put(categoryCode, tempList);
//				}
//				tempList.add(commReference);
//				commReferenceItemMap.put(commReference.getItemCode(), commReference);
//			}
//		} catch (Exception e) {
//			logger.error("初始化缓存类失败：" + e);
//		}
//	}
//
//	/**
//	 * 初始化登录帐号起始值
//	 */
//	private void initLoginName() {
//		try {
//			autoLoginName = userLoginService.queryMaxId();
//			if (autoLoginName < 2157484) {
//				autoLoginName += 2157484;
//			}
//		} catch (Exception e) {
//			logger.error("初始化缓存类失败：" + e);
//		}
//	}
//
//	/**
//	 * 根据大类枚举查找该大类的小项列表
//	 * @param commReferenceEnum
//	 * @return 小项列表
//	 */
//	public List<CommReference> findCommReferenceByCategory(CommReferenceEnum commReferenceEnum) {
//		return commReferenceMap.get(commReferenceEnum.getCategoryCode());
//	}
//
//	/**
//	 * 根据小项枚举查找小项
//	 * @param baseEnum
//	 * @return
//	 */
//	public CommReference findCommReferenceByItem(BaseEnum baseEnum) {
//		return commReferenceItemMap.get(baseEnum.getItemCode());
//	}
//
//	/**
//	 * 得到一个自动生成的登录名
//	 * @return
//	 */
//	public String autoLoginName() {
//		return String.valueOf(++autoLoginName);
//	}

}
